﻿
namespace SwtorCalculator {
    using System;

    /// <summary>
    /// class.pc.jedi_wizard(Con) / .sith_sorcerer(Inq) - wil_gives_melee
    ///     class.pc.advanced.force_wizard / .sorcerer - wil_gives_heal
    ///     class.pc.advanced.shadow / .assassin - wil_gives_melee
    /// </summary>
    internal class ConsularInquisitorStats : Stats {
        /// <summary>
        /// Initializes a New Instance of the ConsularInquisitorStats Class
        /// </summary>
        internal ConsularInquisitorStats() : this( 50 ) { }

        /// <summary>
        /// Initializes a New Instance of the ConsularInquisitorStats Class
        /// </summary>
        /// <param name="lvl">Character Level</param>
        internal ConsularInquisitorStats( int lvl ) {
            Level = lvl;
            ArmorStat = 0;
        }

        /// <summary>
        /// Characters Base Strength
        /// (Weak Stat)
        /// </summary>
        internal override int StrengthBase {
            get { return getWeakStat(); }
        }

        /// <summary>
        /// Characters Base Willpower
        /// (Primary stat)
        /// </summary>
        internal override int WillpowerBase {
            get { return getPrimaryStat(); }
        }

        /// <summary>
        /// Characters Bonus Melee Damage
        /// </summary>
        internal override int MeleeBonusStats {
            get { return ( int )Math.Floor( ( double )( WillpowerTotal + StrengthTotal ) * BONUS_DMG_MOD ); }
        }

        /// <summary>
        /// Characters Melee Crit Chance from Stats
        /// </summary>
        internal override double MeleeCritStats {
            get { return Math.Round( ( double )( WillpowerTotal + StrengthTotal ) / BONUS_CRIT_MOD / 10000, 4 ); }
        }
    }
}